package com.alks.entity.data.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.converters.localdate.LocalDateStringConverter;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *费用明细
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("PC_COST_DETAIL")
@ApiModel(value="PcCostDetail对象", description="费用明细")
public class PcCostDetail {

    @ApiModelProperty(value = "自增ID")
    @TableId(value = "id", type = IdType.AUTO)
    private int id;

    @ApiModelProperty(value = "单据号码")
    private String slipNo;

    @ExcelProperty(value = "单据日期",index = 0)
    @ApiModelProperty(value = "单据日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private LocalDate slipDate;

    @ApiModelProperty(value = "部门编号")
    private String deptNo;

    @ExcelProperty(value = "指令号",index = 1)
    @ApiModelProperty(value = "指令号")
    private String lotNo;

    @ApiModelProperty(value = "制单日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private LocalDateTime sysDate;

    @ExcelProperty(value = "送货单号",index = 4)
    @ApiModelProperty(value = "送货单号")
    private String sendNo;

    @ExcelProperty(value = "费用描述",index = 5)
    @ApiModelProperty(value = "费用描述")
    private String costDesc;

    @ExcelProperty(value = "数量",index = 6)
    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

    @ExcelProperty(value = "单位",index = 7)
    @ApiModelProperty(value = "单位")
    private String costUnit;

    @ExcelProperty(value = "单价",index = 8)
    @ApiModelProperty(value = "单价")
    private BigDecimal price;

    @ExcelProperty(value = "金额",index = 9)
    @ApiModelProperty(value = "金额")
    private BigDecimal amt;

    @ApiModelProperty(value = "类型编号")
    private String typeNo;

    @ExcelProperty(value = "费用类型",index = 2)
    @ApiModelProperty(value = "费用类型")
    private String typeName;

    @ApiModelProperty(value = "厂商ID")
    private String vendorNo;

    @ExcelProperty(value = "厂商",index = 3)
    @ApiModelProperty(value = "厂商名称")
    private String vendorName;

    @ApiModelProperty(value = "结算方式")
    private String accountName;

    @ApiModelProperty(value = "结算月份")
    private String financeYymm;

    @ExcelProperty(value = "备注",index = 10)
    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "扣款")
    private String processStatus;

    @ApiModelProperty(value = "结算单号")
    private String balanceNo;

    @ApiModelProperty(value = "备注信息")
    private String remarkCw;

    private String sysUser;

    @ApiModelProperty(value = "结算标志（为Y的不能删除）")
    private String cfmFlag;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "Asia/Shanghai")
    private LocalDate cfmDate;

    private String cfmUser;

    private BigDecimal item;

    private String companyId;

    @ApiModelProperty(value = "被扣款订单号")
    private String cbSlipNo;

    @ApiModelProperty(value = "被扣款序号")
    private BigDecimal cbItem;


}
